import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;

import apostas.Aposta;
import apostas.Apostador;
import apostas.ApostadorDAO;
import apostas.GrupoApostadores;
import bancodedados.ConectaBanco;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JSeparator;
import java.awt.Color;
import java.awt.Button;
import java.awt.Font;
import javax.swing.JPasswordField;


public class TelaInicial extends JFrame {

	private JPanel contentPane;
	private JTextField textField_1;
	private JPasswordField textField_2;
	public Apostador apostador=new Apostador();
	private JTextField LoginADM;
	private JPasswordField SenhaADM;
	private ApostadorDAO AdApostador=new ApostadorDAO();

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					TelaInicial frame = new TelaInicial();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public TelaInicial() {
		
		
		System.out.println("\nTela Inicial\n");
		if (GrupoApostadores.getListaApostadores().size()==0) {
			AdApostador.addApostadorGrupo();
		}
		/*for(int i=0;i<GrupoApostadores.getListaApostadores().size();i++){
    		GrupoApostadores.getListaApostadores().get(i).addListaApostas( new Aposta(GrupoApostadores.getListaApostadores().get(i), null, null));
    	}*/
		
for(int i=0;i<GrupoApostadores.getListaApostadores().size();i++){
			
    		System.out.println(GrupoApostadores.getListaApostadores().get(i).getNome()+" "+GrupoApostadores.getListaApostadores().get(i).getListaApostas().size() );
    	}
		System.out.println("Fim Tela Inicial");
		
		
		
		
		setTitle("P\u00E1gina Inicial");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 296, 543);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblBemVindiAo = new JLabel("Bem vindo ao Bol\u00E3o da Copa");
		lblBemVindiAo.setFont(new Font("Tahoma", Font.PLAIN, 20));
		lblBemVindiAo.setBounds(10, 11, 341, 40);
		contentPane.add(lblBemVindiAo);
		
		
		textField_1 = new JTextField();
		textField_1.setBounds(60, 97, 142, 20);
		contentPane.add(textField_1);
		textField_1.setColumns(10);
		
		textField_2 = new JPasswordField();
		textField_2.setBounds(60, 125, 142, 20);
		contentPane.add(textField_2);
		textField_2.setColumns(10);
		
		
		JLabel lblLogin = new JLabel("Login:");
		lblLogin.setBounds(10, 100, 46, 14);
		contentPane.add(lblLogin);
		
		JLabel lblSenha = new JLabel("Senha:");
		lblSenha.setBounds(10, 128, 46, 14);
		contentPane.add(lblSenha);
		
		//ENTRAR E APOSTAR
		JButton btnEntrar = new JButton("Entrar e Apostar");
		btnEntrar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				ConectaBanco conecte=new ConectaBanco("jdbc:mysql://localhost/sga", "root", "1234");
				if(conecte.verifyLogin(textField_1.getText(), textField_2.getText())==true){
					
					for (int i=0;i<GrupoApostadores.getListaApostadores().size();i++){
						if(GrupoApostadores.getListaApostadores().get(i).getNome().equals(AdApostador.getNomeBanco(textField_1.getText()))){
							apostador=GrupoApostadores.getListaApostadores().get(i);
						}
					}
				//apostador.setNome(LoginADM.getText());
				
				TelaApostas telaApostas=new TelaApostas(apostador);
				contentPane.setVisible(false);
				System.out.println();
				telaApostas.setVisible(true);
				
				}
				
				else{
					JOptionPane.showMessageDialog(null, "Ocorreu um erro. tente novamente");
				}
			}
		});
		btnEntrar.setBounds(70, 163, 161, 23);
		contentPane.add(btnEntrar);
		
		JSeparator separator = new JSeparator();
		separator.setBackground(Color.DARK_GRAY);
		separator.setBounds(237, 11, 1, 228);
		contentPane.add(separator);
		
		JButton btnNewButton = new JButton("Cadastre-se");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				TelaCadastro telaCadastro =new TelaCadastro();
				telaCadastro.setVisible(true);
			
			}
		});
		btnNewButton.setBounds(66, 439, 165, 23);
		contentPane.add(btnNewButton);
		
		JLabel lblNewLabel = new JLabel("Entre e Aposte");
		lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblNewLabel.setBounds(95, 62, 94, 23);
		contentPane.add(lblNewLabel);
		
		JLabel lblAindaNo = new JLabel("Ainda n\u00E3o \u00E9 cadastrado?");
		lblAindaNo.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblAindaNo.setBounds(72, 402, 155, 14);
		contentPane.add(lblAindaNo);
		
		JLabel lblNewLabel_1 = new JLabel("Inserir Resultados");
		lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblNewLabel_1.setBounds(89, 225, 113, 14);
		contentPane.add(lblNewLabel_1);
		
		JLabel lblLoginadm = new JLabel("LoginADM:");
		lblLoginadm.setBounds(10, 257, 82, 14);
		contentPane.add(lblLoginadm);
		
		LoginADM = new JTextField();
		LoginADM.setColumns(10);
		LoginADM.setBounds(85, 250, 117, 20);
		contentPane.add(LoginADM);
		
		JLabel lblSenhaadm = new JLabel("SenhaADM:");
		lblSenhaadm.setBounds(10, 293, 82, 14);
		contentPane.add(lblSenhaadm);
		
		SenhaADM = new JPasswordField();
		SenhaADM.setColumns(10);
		SenhaADM.setBounds(85, 290, 117, 20);
		contentPane.add(SenhaADM);
		
		JButton btnEntrar_1 = new JButton("Entrar");
		btnEntrar_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				ConectaBanco conecte=new ConectaBanco("jdbc:mysql://localhost/sga", "root", "1234");
				if(conecte.verifyAdmin(LoginADM.getText(), SenhaADM.getText())==true){					
					//apostador.setNome(LoginADM.getText());
					
					TelaResultados tela=new TelaResultados(apostador);
					contentPane.setVisible(false);
					tela.setVisible(true);
					
					
				}
				
				else{
					JOptionPane.showMessageDialog(null, "Ocorreu um erro. tente novamente");
				}
			}
		});
		btnEntrar_1.setBounds(70, 334, 161, 23);
		contentPane.add(btnEntrar_1);
	}
	
	
public TelaInicial(String comando) {
		
		
		System.out.println("\nTela Inicial\n");
		/*for(int i=0;i<GrupoApostadores.getListaApostadores().size();i++){
    		GrupoApostadores.getListaApostadores().get(i).addListaApostas( new Aposta(GrupoApostadores.getListaApostadores().get(i), null, null));
    	}*/
		
		for(int i=0;i<GrupoApostadores.getListaApostadores().size();i++){
			
    		System.out.println(GrupoApostadores.getListaApostadores().get(i).getNome()+" "+GrupoApostadores.getListaApostadores().get(i).getListaApostas().size() );
    	}
		System.out.println("Fim Tela Inicial");
		
		
		
		
		setTitle("P\u00E1gina Inicial");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 537, 422);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblBemVindiAo = new JLabel("Bem vindo ao Bol\u00E3o da Copa");
		lblBemVindiAo.setFont(new Font("Tahoma", Font.PLAIN, 20));
		lblBemVindiAo.setBounds(118, 11, 341, 40);
		contentPane.add(lblBemVindiAo);
		
		
		textField_1 = new JTextField();
		textField_1.setBounds(66, 162, 104, 20);
		contentPane.add(textField_1);
		textField_1.setColumns(10);
		
		textField_2 = new JPasswordField();
		textField_2.setBounds(66, 193, 104, 20);
		contentPane.add(textField_2);
		textField_2.setColumns(10);
		
		
		JLabel lblLogin = new JLabel("Login:");
		lblLogin.setBounds(10, 165, 46, 14);
		contentPane.add(lblLogin);
		
		JLabel lblSenha = new JLabel("Senha:");
		lblSenha.setBounds(10, 196, 46, 14);
		contentPane.add(lblSenha);
		
		//ENTRAR E APOSTAR
		JButton btnEntrar = new JButton("Entrar e Apostar");
		btnEntrar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				ConectaBanco conecte=new ConectaBanco("jdbc:mysql://localhost/sga", "root", "1234");
				if(conecte.verifyLogin(textField_1.getText(), textField_2.getText())==true){
					
					for (int i=0;i<GrupoApostadores.getListaApostadores().size();i++){
						if(GrupoApostadores.getListaApostadores().get(i).getNome().equals(AdApostador.getNomeBanco(textField_1.getText()))){
							apostador=GrupoApostadores.getListaApostadores().get(i);
						}
					}
				//apostador.setNome(LoginADM.getText());
				
				TelaApostas telaApostas=new TelaApostas(apostador);
				contentPane.setVisible(false);
				System.out.println();
				telaApostas.setVisible(true);
				
				}
				
				else{
					JOptionPane.showMessageDialog(null, "Ocorreu um erro. tente novamente");
				}
			}
		});
		btnEntrar.setBounds(57, 224, 113, 23);
		contentPane.add(btnEntrar);
		
		JSeparator separator = new JSeparator();
		separator.setBackground(Color.DARK_GRAY);
		separator.setBounds(237, 11, 1, 228);
		contentPane.add(separator);
		
		JButton btnNewButton = new JButton("Cadastre-se");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				TelaCadastro telaCadastro =new TelaCadastro();
				telaCadastro.setVisible(true);
			
			}
		});
		btnNewButton.setBounds(46, 318, 113, 23);
		contentPane.add(btnNewButton);
		
		JLabel lblNewLabel = new JLabel("Entre e Aposte");
		lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblNewLabel.setBounds(46, 118, 94, 23);
		contentPane.add(lblNewLabel);
		
		JLabel lblAindaNo = new JLabel("Ainda n\u00E3o \u00E9 cadastrado?");
		lblAindaNo.setBounds(46, 293, 124, 14);
		contentPane.add(lblAindaNo);
		
		JLabel lblNewLabel_1 = new JLabel("Inserir Resultados");
		lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
		lblNewLabel_1.setBounds(365, 124, 113, 14);
		contentPane.add(lblNewLabel_1);
		
		JLabel lblLoginadm = new JLabel("LoginADM:");
		lblLoginadm.setBounds(300, 165, 59, 14);
		contentPane.add(lblLoginadm);
		
		LoginADM = new JTextField();
		LoginADM.setColumns(10);
		LoginADM.setBounds(365, 162, 104, 20);
		contentPane.add(LoginADM);
		
		JLabel lblSenhaadm = new JLabel("SenhaADM:");
		lblSenhaadm.setBounds(300, 196, 59, 14);
		contentPane.add(lblSenhaadm);
		
		SenhaADM = new JPasswordField();
		SenhaADM.setColumns(10);
		SenhaADM.setBounds(365, 193, 104, 20);
		contentPane.add(SenhaADM);
		
		JButton btnEntrar_1 = new JButton("Entrar");
		btnEntrar_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				ConectaBanco conecte=new ConectaBanco("jdbc:mysql://localhost/sga", "root", "1234");
				if(conecte.verifyAdmin(LoginADM.getText(), SenhaADM.getText())==true){					
					//apostador.setNome(LoginADM.getText());
					
					TelaResultados tela=new TelaResultados(apostador);
					contentPane.setVisible(false);
					tela.setVisible(true);
					
					
				}
				
				else{
					JOptionPane.showMessageDialog(null, "Ocorreu um erro. tente novamente");
				}
			}
		});
		btnEntrar_1.setBounds(365, 238, 89, 23);
		contentPane.add(btnEntrar_1);
	}
}
